آموزش Docker & Kubernetes: The Practical Guide [نسخه 2023]

Docker & Kubernetes: The Practical Guide [2023 Edition]

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: Docker، Docker Compose، پروژه های چند کانتینری، استقرار و همه چیز در مورد Kubernetes را از ابتدا بیاموزید! یاد بگیرید Docker و Kubernetes چیست و چرا ممکن است بخواهید از آنها استفاده کنید آموزش نصب و استفاده از Docker در هر سیستمی (macOS، Windows، Linux) آموزش ایجاد و استفاده از Images & Container با Docker درک موضوعات پیچیده مانند مدیریت و ماندگاری داده ها با Volumes درباره شبکه کانتینری با شبکه های Docker و کشف سرویس DNS بیاموزید نحوه استقرار برنامه های Docker - به صورت دستی، با سرویس های مدیریت شده یا با Kubernetes پیش نیازها: هیچ تجربه قبلی Docker یا Kubernetes مورد نیاز نیست! دانش اولیه توسعه (وب) مورد نیاز است - شما نیازی به دانستن زبان خاصی ندارید، اگرچه AWS (که در چند نمونه استقرار استفاده می شود، ~ 4 ساعت دوره) به کارت اعتباری نیاز دارد - همچنین می توانید به صورت غیر فعال دنبال کنید.

به این دوره پرفروش Docker Kubernetes بپیوندید و دو تا از مهم ترین فناوری های توسعه را از ابتدا با جزئیات کامل یاد بگیرید!

Docker Kubernetes یکی از پرتقاضاترین فناوری‌ها و موضوعاتی است که این روزها می‌توانید یاد بگیرید.

چرا؟

زیرا آنها به طور قابل توجهی فرآیند توسعه و استقرار پروژه های نرم افزاری ساده و پیچیده را ساده می کنند. به خصوص در توسعه وب (اگرچه به آن محدود نمی شود)، Docker واقعا می تواند شما را به سطح بعدی برساند!

با Docker، به اصطلاح "Containers" را ایجاد و مدیریت می کنید - اساساً بسته هایی از کد و ابزارهای مورد نیاز برای اجرای آن کد. این کانتینرها به شما این امکان را می دهند که برنامه های خود را به روشی قابل پیش بینی و مستقل از محیط اجرا کنید - بدون توجه به جایی که نیاز به اجرای آن دارید.

برای DevOpsهای مدرن و همچنین برای توسعه محلی - به تنهایی یا در یک تیم - این یک ویژگی برنده است زیرا دیگر هیچ بحثی با عنوان "ولی روی ماشین من کار کرد" نخواهید داشت. در داخل یک ظرف کار می کند، بنابراین در همه جا کار می کند!

این دوره به شما Docker Kubernetes را از پایه با تمام تئوری های مورد نیاز و هزاران مثال و دمو آموزش می دهد!

ما تمام مفاهیم کلیدی را با جزئیات و با مثال‌ها و دموهای عملی بررسی خواهیم کرد - از تصاویر و کانتینرها، بیش از حجم و شبکه تا توسعه و Kubernetes Cluster: این دوره همه چیز را دارد!

به طور مفصل، این دوره شامل موضوعات زیر است:

  • معرفی کامل از Docker، کانتینرها و اینکه چرا ممکن است بخواهید از Docker استفاده کنید

  • دستورالعمل‌های راه‌اندازی دقیق برای macOS و Windows

  • عمق در مفاهیم اصلی که باید بدانید: تصاویر کانتینر

  • با نحوه ایجاد تصاویر سفارشی، استفاده از تصاویر موجود و نحوه اجرای کانتینرها بر اساس چنین تصاویری آشنا شوید

  • یک نمای کلی از دستورات اصلی که هنگام کار با Docker به آنها نیاز دارید دریافت کنید

  • با نحوه کار با داده ها و نحوه ماندگاری داده ها با حجم آشنا شوید

  • شبکه کانتینر را کاوش کنید - با دنیای بیرون و بین چندین کانتینر

  • با نحوه کار با پروژه های تک و چند کانتینری آشنا شوید

  • دستورالعمل‌های استقرار عمیق: استقرار دستی و استقرار با سرویس‌های مدیریت‌شده مانند AWS ECS

  • معماری مفاهیم اصلی Kubernetes را درک کنید

  • با نحوه ایجاد منابع، استقرار، سرویس‌های Kubernetes و نحوه اجرای کانتینرهای خود با Kubernetes آشنا شوید

  • در پروژه های Kubernetes - با انواع مختلف حجم، عمیقاً در کار با داده ها غوطه ور شوید

  • کشف شبکه Kubernetes و سرویس DNS

  • با نحوه استقرار پروژه Kubernetes خود (به عنوان مثال AWS EKS) آشنا شوید

  • و خیلی بیشتر!

همه این مباحث با جزئیات بسیار با اسلایدها و تئوری و همچنین مهمتر از همه، با مثال‌ها و نسخه‌های نمایشی فراوان آموزش داده می‌شوند!

هزاران پروژه دمو در طول دوره پیدا خواهید کرد - با استفاده از زبان های برنامه نویسی مانند NodeJS، Python یا PHP (با لاراول). برای دنبال کردن، نیازی به دانستن این زبان‌ها ندارید، جای نگرانی نیست!


سرفصل ها و درس ها

شروع شدن Getting Started

  • به دوره خوش آمدید Welcome to the Course

  • داکر چیست؟ What Is Docker?

  • چرا Docker & Containers؟ Why Docker & Containers?

  • به انجمن آموزشی ما بپیوندید Join Our Learning Community

  • ماشین‌های مجازی در مقابل کانتینرهای داکر Virtual Machines vs Docker Containers

  • Docker Setup - نمای کلی Docker Setup - Overview

  • راه اندازی داکر - macOS Docker Setup - macOS

  • راه اندازی داکر - ویندوز Docker Setup - Windows

  • Docker Setup - Docker Toolbox برای سیستم های قدیمی Docker Setup - Docker Toolbox for Older Systems

  • زمین بازی داکر Docker Playground

  • مروری بر ابزارهای Docker An Overview of the Docker Tools

  • نصب و پیکربندی یک IDE Installing & Configuring an IDE

  • دست هایمان را کثیف کنیم! Getting Our Hands Dirty!

  • طرح کلی دوره Course Outline

  • چگونه از این دوره بیشترین بهره را ببرید How To Get The Most Out Of This Course

  • منابع دوره Course Resources

شروع شدن Getting Started

  • به دوره خوش آمدید Welcome to the Course

  • داکر چیست؟ What Is Docker?

  • چرا Docker & Containers؟ Why Docker & Containers?

  • به انجمن آموزشی ما بپیوندید Join Our Learning Community

  • ماشین‌های مجازی در مقابل کانتینرهای داکر Virtual Machines vs Docker Containers

  • Docker Setup - نمای کلی Docker Setup - Overview

  • راه اندازی داکر - macOS Docker Setup - macOS

  • راه اندازی داکر - ویندوز Docker Setup - Windows

  • Docker Setup - Docker Toolbox برای سیستم های قدیمی Docker Setup - Docker Toolbox for Older Systems

  • زمین بازی داکر Docker Playground

  • مروری بر ابزارهای Docker An Overview of the Docker Tools

  • نصب و پیکربندی یک IDE Installing & Configuring an IDE

  • دست هایمان را کثیف کنیم! Getting Our Hands Dirty!

  • طرح کلی دوره Course Outline

  • چگونه از این دوره بیشترین بهره را ببرید How To Get The Most Out Of This Course

  • منابع دوره Course Resources

تصاویر و کانتینرهای داکر: بلوک‌های اصلی ساختمان Docker Images & Containers: The Core Building Blocks

  • معرفی ماژول Module Introduction

  • تصاویر و کانتینرها: چه چیزی و چرا؟ Images & Containers: What and Why?

  • استفاده و اجرای تصاویر خارجی (از پیش ساخته شده). Using & Running External (Pre-Built) Images

  • هدف ما: یک برنامه NodeJS Our Goal: A NodeJS App

  • ساختن تصویر خودمان با Dockerfile Building our own Image with a Dockerfile

  • اجرای یک کانتینر بر اساس تصویر خودمان Running a Container based on our own Image

  • EXPOSE & A Little Utility Functional EXPOSE & A Little Utility Functionality

  • تصاویر فقط خواندنی هستند! Images are Read-Only!

  • درک لایه های تصویر Understanding Image Layers

  • اولین خلاصه A First Summary

  • تصاویر و ظروف Images & Containers

  • مدیریت تصاویر و کانتینرها Managing Images & Containers

  • توقف و راه اندازی مجدد کانتینرها Stopping & Restarting Containers

  • آشنایی با ظروف متصل و جدا شده Understanding Attached & Detached Containers

  • اتصال به کانتینری که از قبل در حال اجرا است Attaching to an already-running Container

  • ورود به حالت تعاملی Entering Interactive Mode

  • حذف تصاویر و کانتینرها Deleting Images & Containers

  • حذف خودکار ظروف متوقف شده Removing Stopped Containers Automatically

  • نگاهی به پشت صحنه: بازرسی تصاویر A Look Behind the Scenes: Inspecting Images

  • کپی کردن فایل ها در داخل و از یک ظرف Copying Files Into & From A Container

  • نام گذاری و برچسب گذاری ظروف و تصاویر Naming & Tagging Containers and Images

  • زمان تمرین: تصاویر و ظروف Time to Practice: Images & Containers

  • اشتراک گذاری تصاویر - نمای کلی Sharing Images - Overview

  • انتقال تصاویر به DockerHub Pushing Images to DockerHub

  • کشیدن و استفاده از تصاویر به اشتراک گذاشته شده Pulling & Using Shared Images

  • مدیریت تصاویر و کانتینرها Managing Images & Containers

  • خلاصه ماژول Module Summary

  • منابع ماژول Module Resources

تصاویر و کانتینرهای داکر: بلوک‌های اصلی ساختمان Docker Images & Containers: The Core Building Blocks

  • معرفی ماژول Module Introduction

  • تصاویر و کانتینرها: چه چیزی و چرا؟ Images & Containers: What and Why?

  • استفاده و اجرای تصاویر خارجی (از پیش ساخته شده). Using & Running External (Pre-Built) Images

  • هدف ما: یک برنامه NodeJS Our Goal: A NodeJS App

  • ساختن تصویر خودمان با Dockerfile Building our own Image with a Dockerfile

  • اجرای یک کانتینر بر اساس تصویر خودمان Running a Container based on our own Image

  • EXPOSE & A Little Utility Functional EXPOSE & A Little Utility Functionality

  • تصاویر فقط خواندنی هستند! Images are Read-Only!

  • درک لایه های تصویر Understanding Image Layers

  • اولین خلاصه A First Summary

  • تصاویر و ظروف Images & Containers

  • مدیریت تصاویر و کانتینرها Managing Images & Containers

  • توقف و راه اندازی مجدد کانتینرها Stopping & Restarting Containers

  • آشنایی با ظروف متصل و جدا شده Understanding Attached & Detached Containers

  • اتصال به کانتینری که از قبل در حال اجرا است Attaching to an already-running Container

  • ورود به حالت تعاملی Entering Interactive Mode

  • حذف تصاویر و کانتینرها Deleting Images & Containers

  • حذف خودکار ظروف متوقف شده Removing Stopped Containers Automatically

  • نگاهی به پشت صحنه: بازرسی تصاویر A Look Behind the Scenes: Inspecting Images

  • کپی کردن فایل ها در داخل و از یک ظرف Copying Files Into & From A Container

  • نام گذاری و برچسب گذاری ظروف و تصاویر Naming & Tagging Containers and Images

  • زمان تمرین: تصاویر و ظروف Time to Practice: Images & Containers

  • اشتراک گذاری تصاویر - نمای کلی Sharing Images - Overview

  • انتقال تصاویر به DockerHub Pushing Images to DockerHub

  • کشیدن و استفاده از تصاویر به اشتراک گذاشته شده Pulling & Using Shared Images

  • مدیریت تصاویر و کانتینرها Managing Images & Containers

  • خلاصه ماژول Module Summary

  • منابع ماژول Module Resources

مدیریت داده ها و کار با حجم Managing Data & Working with Volumes

  • معرفی ماژول Module Introduction

  • درک دسته بندی داده ها/انواع مختلف داده ها Understanding Data Categories / Different Kinds of Data

  • تجزیه و تحلیل یک برنامه واقعی Analyzing a Real App

  • ساخت و درک برنامه آزمایشی Building & Understanding the Demo App

  • درک مسئله Understanding the Problem

  • معرفی جلدها Introducing Volumes

  • اولین تلاش ناموفق A First, Unsuccessful Try

  • به نام Volumes To The Rescue! Named Volumes To The Rescue!

  • حذف جلدهای ناشناس Removing Anonymous Volumes

  • شروع به کار با Bind Mounts (اشتراک گذاری کد) Getting Started With Bind Mounts (Code Sharing)

  • Bind Mounts - Shortcuts Bind Mounts - Shortcuts

  • ترکیب و ادغام حجم های مختلف Combining & Merging Different Volumes

  • یک تنظیم خاص NodeJS: استفاده از Nodemon در یک کانتینر A NodeJS-specific Adjustment: Using Nodemon in a Container

  • Volumes & Bind Mounts: خلاصه Volumes & Bind Mounts: Summary

  • حجم‌ها و پایه‌های اتصال Volumes & Bind Mounts

  • نگاهی به جلدهای فقط خواندنی A Look at Read-Only Volumes

  • مدیریت حجم Docker Managing Docker Volumes

  • استفاده از "COPY" در مقابل پایه های Bind Using "COPY" vs Bind Mounts

  • همه چیز را کپی نکنید: با استفاده از فایل‌های "dockerignore". Don't COPY Everything: Using "dockerignore" Files

  • افزودن موارد بیشتر به فایل .dockerignore Adding more to the .dockerignore File

  • کار با متغیرهای محیطی و فایل‌های ".env". Working with Environment Variables & ".env" Files

  • متغیرهای محیطی و امنیت Environment Variables & Security

  • استفاده از Build Arguments (ARG) Using Build Arguments (ARG)

  • خلاصه ماژول Module Summary

  • منابع ماژول Module Resources

مدیریت داده ها و کار با حجم Managing Data & Working with Volumes

  • معرفی ماژول Module Introduction

  • درک دسته بندی داده ها/انواع مختلف داده ها Understanding Data Categories / Different Kinds of Data

  • تجزیه و تحلیل یک برنامه واقعی Analyzing a Real App

  • ساخت و درک برنامه آزمایشی Building & Understanding the Demo App

  • درک مسئله Understanding the Problem

  • معرفی جلدها Introducing Volumes

  • اولین تلاش ناموفق A First, Unsuccessful Try

  • به نام Volumes To The Rescue! Named Volumes To The Rescue!

  • حذف جلدهای ناشناس Removing Anonymous Volumes

  • شروع به کار با Bind Mounts (اشتراک گذاری کد) Getting Started With Bind Mounts (Code Sharing)

  • Bind Mounts - Shortcuts Bind Mounts - Shortcuts

  • ترکیب و ادغام حجم های مختلف Combining & Merging Different Volumes

  • یک تنظیم خاص NodeJS: استفاده از Nodemon در یک کانتینر A NodeJS-specific Adjustment: Using Nodemon in a Container

  • Volumes & Bind Mounts: خلاصه Volumes & Bind Mounts: Summary

  • حجم‌ها و پایه‌های اتصال Volumes & Bind Mounts

  • نگاهی به جلدهای فقط خواندنی A Look at Read-Only Volumes

  • مدیریت حجم Docker Managing Docker Volumes

  • استفاده از "COPY" در مقابل پایه های Bind Using "COPY" vs Bind Mounts

  • همه چیز را کپی نکنید: با استفاده از فایل‌های "dockerignore". Don't COPY Everything: Using "dockerignore" Files

  • افزودن موارد بیشتر به فایل .dockerignore Adding more to the .dockerignore File

  • کار با متغیرهای محیطی و فایل‌های ".env". Working with Environment Variables & ".env" Files

  • متغیرهای محیطی و امنیت Environment Variables & Security

  • استفاده از Build Arguments (ARG) Using Build Arguments (ARG)

  • خلاصه ماژول Module Summary

  • منابع ماژول Module Resources

شبکه سازی: ارتباطات کانتینری (متقابل). Networking: (Cross-)Container Communication

  • معرفی ماژول Module Introduction

  • مورد 1: Container to WWW Communication Case 1: Container to WWW Communication

  • مورد 2: ارتباط کانتینر با ماشین میزبان محلی Case 2: Container to Local Host Machine Communication

  • مورد 3: ارتباط ظرف به کانتینر Case 3: Container to Container Communication

  • تجزیه و تحلیل برنامه آزمایشی Analyzing the Demo App

  • ایجاد کانتینر و ارتباط با وب (WWW) Creating a Container & Communicating to the Web (WWW)

  • ساخت کانتینر برای میزبانی کار ارتباطی Making Container to Host Communication Work

  • ارتباط ظرف به کانتینر: یک راه حل اساسی Container to Container Communication: A Basic Solution

  • معرفی شبکه های داکر: ارتباط کانتینر به کانتینر زیبا Introducing Docker Networks: Elegant Container to Container Communication

  • Docker چگونه آدرس های IP را حل می کند How Docker Resolves IP Addresses

  • ارتباطات و شبکه های کانتینر داکر Docker Container Communication & Networks

  • درایورهای شبکه داکر Docker Network Drivers

  • خلاصه ماژول Module Summary

  • منابع ماژول Module Resources

شبکه سازی: ارتباطات کانتینری (متقابل). Networking: (Cross-)Container Communication

  • معرفی ماژول Module Introduction

  • مورد 1: Container to WWW Communication Case 1: Container to WWW Communication

  • مورد 2: ارتباط کانتینر با ماشین میزبان محلی Case 2: Container to Local Host Machine Communication

  • مورد 3: ارتباط ظرف به کانتینر Case 3: Container to Container Communication

  • تجزیه و تحلیل برنامه آزمایشی Analyzing the Demo App

  • ایجاد کانتینر و ارتباط با وب (WWW) Creating a Container & Communicating to the Web (WWW)

  • ساخت کانتینر برای میزبانی کار ارتباطی Making Container to Host Communication Work

  • ارتباط ظرف به کانتینر: یک راه حل اساسی Container to Container Communication: A Basic Solution

  • معرفی شبکه های داکر: ارتباط کانتینر به کانتینر زیبا Introducing Docker Networks: Elegant Container to Container Communication

  • Docker چگونه آدرس های IP را حل می کند How Docker Resolves IP Addresses

  • ارتباطات و شبکه های کانتینر داکر Docker Container Communication & Networks

  • درایورهای شبکه داکر Docker Network Drivers

  • خلاصه ماژول Module Summary

  • منابع ماژول Module Resources

ساخت برنامه های کاربردی چند کانتینری با Docker Building Multi-Container Applications with Docker

  • معرفی ماژول Module Introduction

  • برنامه و راه اندازی هدف ما Our Target App & Setup

  • Docker کردن سرویس MongoDB Dockerizing the MongoDB Service

  • داکر کردن برنامه Node Dockerizing the Node App

  • انتقال React SPA به یک کانتینر Moving the React SPA into a Container

  • افزودن شبکه های داکر برای ارتباطات کارآمد بین کانتینری Adding Docker Networks for Efficient Cross-Container Communication

  • رفع خطاهای احراز هویت MongoDB (مرتبط برای سخنرانی بعدی) Fixing MongoDB Authentication Errors (relevant for next lecture)

  • افزودن ماندگاری داده به MongoDB با حجم Adding Data Persistence to MongoDB with Volumes

  • حجم‌ها، پایه‌های اتصال و پرداخت برای کانتینر NodeJS Volumes, Bind Mounts & Polishing for the NodeJS Container

  • به‌روزرسانی‌های کد منبع زنده برای ظرف React (با پایه‌های Bind) Live Source Code Updates for the React Container (with Bind Mounts)

  • خلاصه ماژول Module Summary

  • منابع ماژول Module Resources

ساخت برنامه های کاربردی چند کانتینری با Docker Building Multi-Container Applications with Docker

  • معرفی ماژول Module Introduction

  • برنامه و راه اندازی هدف ما Our Target App & Setup

  • Docker کردن سرویس MongoDB Dockerizing the MongoDB Service

  • داکر کردن برنامه Node Dockerizing the Node App

  • انتقال React SPA به یک کانتینر Moving the React SPA into a Container

  • افزودن شبکه های داکر برای ارتباطات کارآمد بین کانتینری Adding Docker Networks for Efficient Cross-Container Communication

  • رفع خطاهای احراز هویت MongoDB (مرتبط برای سخنرانی بعدی) Fixing MongoDB Authentication Errors (relevant for next lecture)

  • افزودن ماندگاری داده به MongoDB با حجم Adding Data Persistence to MongoDB with Volumes

  • حجم‌ها، پایه‌های اتصال و پرداخت برای کانتینر NodeJS Volumes, Bind Mounts & Polishing for the NodeJS Container

  • به‌روزرسانی‌های کد منبع زنده برای ظرف React (با پایه‌های Bind) Live Source Code Updates for the React Container (with Bind Mounts)

  • خلاصه ماژول Module Summary

  • منابع ماژول Module Resources

Docker Compose: ارکستراسیون زیبا با چند کانتینر Docker Compose: Elegant Multi-Container Orchestration

  • معرفی ماژول Module Introduction

  • Docker-Compose: چی و چرا؟ Docker-Compose: What & Why?

  • ایجاد یک فایل Compose Creating a Compose File

  • غواصی در پیکربندی فایل Compose Diving into the Compose File Configuration

  • نصب Docker Compose در لینوکس Installing Docker Compose on Linux

  • Docker Compose Up & Down Docker Compose Up & Down

  • کار با چندین کانتینر Working with Multiple Containers

  • اضافه کردن یک ظرف دیگر Adding Another Container

  • ساخت تصاویر و درک نام کانتینر Building Images & Understanding Container Names

  • Docker Compose Docker Compose

  • خلاصه ماژول Module Summary

  • منابع ماژول Module Resources

Docker Compose: ارکستراسیون زیبا با چند کانتینر Docker Compose: Elegant Multi-Container Orchestration

  • معرفی ماژول Module Introduction

  • Docker-Compose: چی و چرا؟ Docker-Compose: What & Why?

  • ایجاد یک فایل Compose Creating a Compose File

  • غواصی در پیکربندی فایل Compose Diving into the Compose File Configuration

  • نصب Docker Compose در لینوکس Installing Docker Compose on Linux

  • Docker Compose Up & Down Docker Compose Up & Down

  • کار با چندین کانتینر Working with Multiple Containers

  • اضافه کردن یک ظرف دیگر Adding Another Container

  • ساخت تصاویر و درک نام کانتینر Building Images & Understanding Container Names

  • Docker Compose Docker Compose

  • خلاصه ماژول Module Summary

  • منابع ماژول Module Resources

کار با "Utility Containers" و اجرای دستورات در Containers Working with "Utility Containers" & Executing Commands In Containers

  • معرفی ماژول و "ظروف کاربردی" چیست؟ Module Introduction & What are "Utility Containers"?

  • ظروف کاربردی: چرا از آنها استفاده می کنید؟ Utility Containers: Why would you use them?

  • روش های مختلف اجرای دستورات در کانتینرها Different Ways of Running Commands in Containers

  • ساخت اولین کانتینر ابزار Building a First Utility Container

  • استفاده از ENTRYPOINT Utilizing ENTRYPOINT

  • با استفاده از Docker Compose Using Docker Compose

  • ظروف ابزار، مجوزها و لینوکس Utility Containers, Permissions & Linux

  • خلاصه ماژول Module Summary

  • منابع ماژول Module Resources

کار با "Utility Containers" و اجرای دستورات در Containers Working with "Utility Containers" & Executing Commands In Containers

  • معرفی ماژول و "ظروف کاربردی" چیست؟ Module Introduction & What are "Utility Containers"?

  • ظروف کاربردی: چرا از آنها استفاده می کنید؟ Utility Containers: Why would you use them?

  • روش های مختلف اجرای دستورات در کانتینرها Different Ways of Running Commands in Containers

  • ساخت اولین کانتینر ابزار Building a First Utility Container

  • استفاده از ENTRYPOINT Utilizing ENTRYPOINT

  • با استفاده از Docker Compose Using Docker Compose

  • ظروف ابزار، مجوزها و لینوکس Utility Containers, Permissions & Linux

  • خلاصه ماژول Module Summary

  • منابع ماژول Module Resources

یک راه اندازی پیچیده تر: یک پروژه لاراول و PHP Dockerized A More Complex Setup: A Laravel & PHP Dockerized Project

  • معرفی ماژول Module Introduction

  • تنظیم هدف The Target Setup

  • افزودن یک کانتینر Nginx (وب سرور). Adding a Nginx (Web Server) Container

  • اضافه کردن کانتینر PHP Adding a PHP Container

  • افزودن کانتینر MySQL Adding a MySQL Container

  • افزودن یک کانتینر ابزار Composer Adding a Composer Utility Container

  • ایجاد یک برنامه لاراول از طریق کانتینر ابزار کاربردی Composer Creating a Laravel App via the Composer Utility Container

  • رفع خطاها با سخنرانی بعدی Fixing Errors With The Next Lecture

  • راه اندازی فقط برخی از خدمات Docker Compose Launching Only Some Docker Compose Services

  • افزودن ظروف ابزار بیشتر Adding More Utility Containers

  • Docker Compose با و بدون Dockerfiles Docker Compose with and without Dockerfiles

  • اتصالات و کپی کردن: چه زمانی از چه چیزی استفاده کنیم Bind Mounts and COPY: When To Use What

  • منابع ماژول Module Resources

یک راه اندازی پیچیده تر: یک پروژه لاراول و PHP Dockerized A More Complex Setup: A Laravel & PHP Dockerized Project

  • معرفی ماژول Module Introduction

  • تنظیم هدف The Target Setup

  • افزودن یک کانتینر Nginx (وب سرور). Adding a Nginx (Web Server) Container

  • اضافه کردن کانتینر PHP Adding a PHP Container

  • افزودن کانتینر MySQL Adding a MySQL Container

  • افزودن یک کانتینر ابزار Composer Adding a Composer Utility Container

  • ایجاد یک برنامه لاراول از طریق کانتینر ابزار کاربردی Composer Creating a Laravel App via the Composer Utility Container

  • رفع خطاها با سخنرانی بعدی Fixing Errors With The Next Lecture

  • راه اندازی فقط برخی از خدمات Docker Compose Launching Only Some Docker Compose Services

  • افزودن ظروف ابزار بیشتر Adding More Utility Containers

  • Docker Compose با و بدون Dockerfiles Docker Compose with and without Dockerfiles

  • اتصالات و کپی کردن: چه زمانی از چه چیزی استفاده کنیم Bind Mounts and COPY: When To Use What

  • منابع ماژول Module Resources

استقرار کانتینرهای داکر Deploying Docker Containers

  • معرفی ماژول Module Introduction

  • از توسعه تا تولید From Development To Production

  • فرآیند استقرار و ارائه دهندگان Deployment Process & Providers

  • شروع با یک مثال Getting Started With An Example

  • Bind Mounts در تولید Bind Mounts In Production

  • معرفی AWS و EC2 Introducing AWS & EC2

  • اتصال به نمونه EC2 Connecting to an EC2 Instance

  • نصب داکر در ماشین مجازی Installing Docker on a Virtual Machine

  • نصب داکر روی لینوکس به طور کلی Installing Docker on Linux in General

  • هل دادن تصویر محلی ما به ابر Pushing our local Image to the Cloud

  • اجرا و انتشار برنامه (در EC2) Running & Publishing the App (on EC2)

  • مدیریت و به روز رسانی کانتینر/تصویر Managing & Updating the Container / Image

  • معایب رویکرد فعلی ما Disadvantages of our Current Approach

  • از استقرار دستی تا خدمات مدیریت شده From Manual Deployment to Managed Services

  • مهم: AWS، قیمت گذاری و ECS Important: AWS, Pricing and ECS

  • استقرار با AWS ECS: یک سرویس کانتینر Docker مدیریت شده Deploying with AWS ECS: A Managed Docker Container Service

  • اطلاعات بیشتر در مورد AWS More on AWS

  • به روز رسانی کانتینرهای مدیریت شده Updating Managed Containers

  • آماده سازی اپلیکیشن چند کانتینری Preparing a Multi-Container App

  • پیکربندی NodeJS Backend Container Configuring the NodeJS Backend Container

  • استقرار کانتینر دوم و متعادل کننده بار Deploying a Second Container & A Load Balancer

  • استفاده از Load Balancer برای یک دامنه پایدار Using a Load Balancer for a Stable Domain

  • استفاده از ولوم EFS با ECS Using EFS Volumes with ECS

  • معماری فعلی ما Our Current Architecture

  • پایگاه های داده و کانتینرها: یک نکته مهم Databases & Containers: An Important Consideration

  • انتقال به MongoDB Atlas Moving to MongoDB Atlas

  • استفاده از MongoDB Atlas در تولید Using MongoDB Atlas in Production

  • معماری به روز و هدف ما Our Updated & Target Architecture

  • درک یک مشکل رایج Understanding a Common Problem

  • ایجاد یک کانتینر "فقط ساخت". Creating a "build-only" Container

  • معرفی سازه های چند مرحله ای Introducing Multi-Stage Builds

  • ساخت تصویر چند مرحله ای Building a Multi-Stage Image

  • استقرار یک برنامه Frontend مستقل Deploying a Standalone Frontend App

  • توسعه در مقابل تولید: تفاوت ها Development vs Production: Differences

  • درک اهداف ساخت چند مرحله ای Understanding Multi-Stage Build Targets

  • فراتر از AWS Beyond AWS

  • خلاصه ماژول Module Summary

  • منابع ماژول Module Resources

استقرار کانتینرهای داکر Deploying Docker Containers

  • معرفی ماژول Module Introduction

  • از توسعه تا تولید From Development To Production

  • فرآیند استقرار و ارائه دهندگان Deployment Process & Providers

  • شروع با یک مثال Getting Started With An Example

  • Bind Mounts در تولید Bind Mounts In Production

  • معرفی AWS و EC2 Introducing AWS & EC2

  • اتصال به نمونه EC2 Connecting to an EC2 Instance

  • نصب داکر در ماشین مجازی Installing Docker on a Virtual Machine

  • نصب داکر روی لینوکس به طور کلی Installing Docker on Linux in General

  • هل دادن تصویر محلی ما به ابر Pushing our local Image to the Cloud

  • اجرا و انتشار برنامه (در EC2) Running & Publishing the App (on EC2)

  • مدیریت و به روز رسانی کانتینر/تصویر Managing & Updating the Container / Image

  • معایب رویکرد فعلی ما Disadvantages of our Current Approach

  • از استقرار دستی تا خدمات مدیریت شده From Manual Deployment to Managed Services

  • مهم: AWS، قیمت گذاری و ECS Important: AWS, Pricing and ECS

  • استقرار با AWS ECS: یک سرویس کانتینر Docker مدیریت شده Deploying with AWS ECS: A Managed Docker Container Service

  • اطلاعات بیشتر در مورد AWS More on AWS

  • به روز رسانی کانتینرهای مدیریت شده Updating Managed Containers

  • آماده سازی اپلیکیشن چند کانتینری Preparing a Multi-Container App

  • پیکربندی NodeJS Backend Container Configuring the NodeJS Backend Container

  • استقرار کانتینر دوم و متعادل کننده بار Deploying a Second Container & A Load Balancer

  • استفاده از Load Balancer برای یک دامنه پایدار Using a Load Balancer for a Stable Domain

  • استفاده از ولوم EFS با ECS Using EFS Volumes with ECS

  • معماری فعلی ما Our Current Architecture

  • پایگاه های داده و کانتینرها: یک نکته مهم Databases & Containers: An Important Consideration

  • انتقال به MongoDB Atlas Moving to MongoDB Atlas

  • استفاده از MongoDB Atlas در تولید Using MongoDB Atlas in Production

  • معماری به روز و هدف ما Our Updated & Target Architecture

  • درک یک مشکل رایج Understanding a Common Problem

  • ایجاد یک کانتینر "فقط ساخت". Creating a "build-only" Container

  • معرفی سازه های چند مرحله ای Introducing Multi-Stage Builds

  • ساخت تصویر چند مرحله ای Building a Multi-Stage Image

  • استقرار یک برنامه Frontend مستقل Deploying a Standalone Frontend App

  • توسعه در مقابل تولید: تفاوت ها Development vs Production: Differences

  • درک اهداف ساخت چند مرحله ای Understanding Multi-Stage Build Targets

  • فراتر از AWS Beyond AWS

  • خلاصه ماژول Module Summary

  • منابع ماژول Module Resources

Docker & Containers - A Summary Docker & Containers - A Summary

  • معرفی ماژول Module Introduction

  • تصاویر و ظروف Images & Containers

  • دستورات کلیدی Key Commands

  • داده، حجم و شبکه Data, Volumes & Networking

  • Docker Compose Docker Compose

  • محلی در مقابل از راه دور Local vs Remote

  • گسترش Deployment

  • منابع ماژول Module Resources

Docker & Containers - A Summary Docker & Containers - A Summary

  • معرفی ماژول Module Introduction

  • تصاویر و ظروف Images & Containers

  • دستورات کلیدی Key Commands

  • داده، حجم و شبکه Data, Volumes & Networking

  • Docker Compose Docker Compose

  • محلی در مقابل از راه دور Local vs Remote

  • گسترش Deployment

  • منابع ماژول Module Resources

شروع کار با Kubernetes Getting Started with Kubernetes

  • معرفی ماژول Module Introduction

  • مشکلات بیشتر با استقرار دستی More Problems with Manual Deployment

  • چرا Kubernetes؟ Why Kubernetes?

  • Kubernetes دقیقا چیست؟ What Is Kubernetes Exactly?

  • Kubernetes: معماری و مفاهیم اصلی Kubernetes: Architecture & Core Concepts

  • Kubernetes زیرساخت شما را مدیریت نخواهد کرد! Kubernetes will NOT manage your Infrastructure!

  • نگاهی دقیق تر به گره های کارگر A Closer Look at the Worker Nodes

  • نگاهی دقیق تر به گره اصلی A Closer Look at the Master Node

  • شرایط و مفاهیم مهم Important Terms & Concepts

  • مفاهیم اصلی Kubernetes Kubernetes Core Concepts

  • منابع ماژول Module Resources

شروع کار با Kubernetes Getting Started with Kubernetes

  • معرفی ماژول Module Introduction

  • مشکلات بیشتر با استقرار دستی More Problems with Manual Deployment

  • چرا Kubernetes؟ Why Kubernetes?

  • Kubernetes دقیقا چیست؟ What Is Kubernetes Exactly?

  • Kubernetes: معماری و مفاهیم اصلی Kubernetes: Architecture & Core Concepts

  • Kubernetes زیرساخت شما را مدیریت نخواهد کرد! Kubernetes will NOT manage your Infrastructure!

  • نگاهی دقیق تر به گره های کارگر A Closer Look at the Worker Nodes

  • نگاهی دقیق تر به گره اصلی A Closer Look at the Master Node

  • شرایط و مفاهیم مهم Important Terms & Concepts

  • مفاهیم اصلی Kubernetes Kubernetes Core Concepts

  • منابع ماژول Module Resources

Kubernetes در عمل - غواصی در مفاهیم اصلی Kubernetes in Action - Diving into the Core Concepts

  • معرفی ماژول Module Introduction

  • Kubernetes زیرساخت شما را مدیریت نمی کند Kubernetes does NOT manage your Infrastructure

  • Kubernetes: مراحل راه اندازی و نصب مورد نیاز Kubernetes: Required Setup & Installation Steps

  • راه اندازی macOS macOS Setup

  • راه اندازی ویندوز Windows Setup

  • درک اشیاء Kubernetes (منابع) Understanding Kubernetes Objects (Resources)

  • شی "استقرار" (منبع) The "Deployment" Object (Resource)

  • اولین استقرار - با استفاده از رویکرد امری A First Deployment - Using the Imperative Approach

  • kubectl: پشت صحنه kubectl: Behind The Scenes

  • شیء "سرویس" (منبع) The "Service" Object (Resource)

  • افشای یک استقرار با یک سرویس Exposing a Deployment with a Service

  • راه اندازی مجدد کانتینرها Restarting Containers

  • مقیاس پذیری در عمل Scaling in Action

  • به روز رسانی استقرارها Updating Deployments

  • بازگشت و تاریخچه استقرار Deployment Rollbacks & History

  • رویکرد امری در مقابل رویکرد اعلامی The Imperative vs The Declarative Approach

  • ایجاد یک فایل پیکربندی استقرار (رویکرد اعلامی) Creating a Deployment Configuration File (Declarative Approach)

  • افزودن مشخصات Pod و Container Adding Pod and Container Specs

  • کار با برچسب ها و انتخابگرها Working with Labels & Selectors

  • ایجاد یک سرویس به صورت اعلامی Creating a Service Declaratively

  • به روز رسانی و حذف منابع Updating & Deleting Resources

  • فایل های پیکربندی چندگانه در مقابل فایل های منفرد Multiple vs Single Config Files

  • اطلاعات بیشتر در مورد برچسب ها و انتخابگرها More on Labels & Selectors

  • کاوشگر زنده بودن Liveness Probes

  • نگاهی دقیق تر به گزینه های پیکربندی A Closer Look at the Configuration Options

  • خلاصه Summary

  • منابع ماژول Module Resources

Kubernetes در عمل - غواصی در مفاهیم اصلی Kubernetes in Action - Diving into the Core Concepts

  • معرفی ماژول Module Introduction

  • Kubernetes زیرساخت شما را مدیریت نمی کند Kubernetes does NOT manage your Infrastructure

  • Kubernetes: مراحل راه اندازی و نصب مورد نیاز Kubernetes: Required Setup & Installation Steps

  • راه اندازی macOS macOS Setup

  • راه اندازی ویندوز Windows Setup

  • درک اشیاء Kubernetes (منابع) Understanding Kubernetes Objects (Resources)

  • شی "استقرار" (منبع) The "Deployment" Object (Resource)

  • اولین استقرار - با استفاده از رویکرد امری A First Deployment - Using the Imperative Approach

  • kubectl: پشت صحنه kubectl: Behind The Scenes

  • شیء "سرویس" (منبع) The "Service" Object (Resource)

  • افشای یک استقرار با یک سرویس Exposing a Deployment with a Service

  • راه اندازی مجدد کانتینرها Restarting Containers

  • مقیاس پذیری در عمل Scaling in Action

  • به روز رسانی استقرارها Updating Deployments

  • بازگشت و تاریخچه استقرار Deployment Rollbacks & History

  • رویکرد امری در مقابل رویکرد اعلامی The Imperative vs The Declarative Approach

  • ایجاد یک فایل پیکربندی استقرار (رویکرد اعلامی) Creating a Deployment Configuration File (Declarative Approach)

  • افزودن مشخصات Pod و Container Adding Pod and Container Specs

  • کار با برچسب ها و انتخابگرها Working with Labels & Selectors

  • ایجاد یک سرویس به صورت اعلامی Creating a Service Declaratively

  • به روز رسانی و حذف منابع Updating & Deleting Resources

  • فایل های پیکربندی چندگانه در مقابل فایل های منفرد Multiple vs Single Config Files

  • اطلاعات بیشتر در مورد برچسب ها و انتخابگرها More on Labels & Selectors

  • کاوشگر زنده بودن Liveness Probes

  • نگاهی دقیق تر به گزینه های پیکربندی A Closer Look at the Configuration Options

  • خلاصه Summary

  • منابع ماژول Module Resources

مدیریت داده ها و حجم ها با Kubernetes Managing Data & Volumes with Kubernetes

  • معرفی ماژول Module Introduction

  • شروع پروژه و آنچه از قبل می دانیم Starting Project & What We Know Already

  • Kubernetes & Volumes - بیشتر از Docker Volumes Kubernetes & Volumes - More Than Docker Volumes

  • جلدهای Kubernetes: تئوری و مقایسه داکر Kubernetes Volumes: Theory & Docker Comparison

  • ایجاد یک استقرار و سرویس جدید Creating a New Deployment & Service

  • شروع با جلدهای Kubernetes Getting Started with Kubernetes Volumes

  • جلد اول: نوع "emptyDir". A First Volume: The "emptyDir" Type

  • جلد دوم: نوع "hostPath". A Second Volume: The "hostPath" Type

  • درک نوع حجم "CSI". Understanding the "CSI" Volume Type

  • از حجم ها تا حجم های ماندگار From Volumes to Persistent Volumes

  • تعریف حجم پایدار Defining a Persistent Volume

  • ایجاد یک ادعای حجم پایدار Creating a Persistent Volume Claim

  • استفاده از یک ادعا در یک Pod Using a Claim in a Pod

  • حجم ها در مقابل حجم های ماندگار Volumes vs Persistent Volumes

  • استفاده از متغیرهای محیطی Using Environment Variables

  • متغیرهای محیطی و نقشه های پیکربندی Environment Variables & ConfigMaps

  • خلاصه ماژول Module Summary

  • منابع ماژول Module Resources

مدیریت داده ها و حجم ها با Kubernetes Managing Data & Volumes with Kubernetes

  • معرفی ماژول Module Introduction

  • شروع پروژه و آنچه از قبل می دانیم Starting Project & What We Know Already

  • Kubernetes & Volumes - بیشتر از Docker Volumes Kubernetes & Volumes - More Than Docker Volumes

  • جلدهای Kubernetes: تئوری و مقایسه داکر Kubernetes Volumes: Theory & Docker Comparison

  • ایجاد یک استقرار و سرویس جدید Creating a New Deployment & Service

  • شروع با جلدهای Kubernetes Getting Started with Kubernetes Volumes

  • جلد اول: نوع "emptyDir". A First Volume: The "emptyDir" Type

  • جلد دوم: نوع "hostPath". A Second Volume: The "hostPath" Type

  • درک نوع حجم "CSI". Understanding the "CSI" Volume Type

  • از حجم ها تا حجم های ماندگار From Volumes to Persistent Volumes

  • تعریف حجم پایدار Defining a Persistent Volume

  • ایجاد یک ادعای حجم پایدار Creating a Persistent Volume Claim

  • استفاده از یک ادعا در یک Pod Using a Claim in a Pod

  • حجم ها در مقابل حجم های ماندگار Volumes vs Persistent Volumes

  • استفاده از متغیرهای محیطی Using Environment Variables

  • متغیرهای محیطی و نقشه های پیکربندی Environment Variables & ConfigMaps

  • خلاصه ماژول Module Summary

  • منابع ماژول Module Resources

شبکه Kubernetes Kubernetes Networking

  • معرفی ماژول Module Introduction

  • شروع پروژه و هدف ما Starting Project & Our Goal

  • ایجاد اولین استقرار Creating a First Deployment

  • نگاهی دیگر به خدمات Another Look at Services

  • کانتینرهای متعدد در یک غلاف Multiple Containers in One Pod

  • Pod-Internal Communication Pod-internal Communication

  • ایجاد چند استقرار Creating Multiple Deployments

  • ارتباط Pod-to-Pod با آدرس های IP و متغیرهای محیطی Pod-to-Pod Communication with IP Addresses & Environment Variables

  • استفاده از DNS برای ارتباط Pod-to-Pod Using DNS for Pod-to-Pod Communication

  • کدام رویکرد بهترین است؟ و یک چالش! Which Approach Is Best? And a Challenge!

  • راه حل چالش Challenge Solution

  • افزودن یک Frontend Containerized Adding a Containerized Frontend

  • استقرار Frontend با Kubernetes Deploying the Frontend with Kubernetes

  • استفاده از یک پروکسی معکوس برای Frontend Using a Reverse Proxy for the Frontend

  • خلاصه ماژول Module Summary

  • منابع ماژول Module Resources

شبکه Kubernetes Kubernetes Networking

  • معرفی ماژول Module Introduction

  • شروع پروژه و هدف ما Starting Project & Our Goal

  • ایجاد اولین استقرار Creating a First Deployment

  • نگاهی دیگر به خدمات Another Look at Services

  • کانتینرهای متعدد در یک غلاف Multiple Containers in One Pod

  • Pod-Internal Communication Pod-internal Communication

  • ایجاد چند استقرار Creating Multiple Deployments

  • ارتباط Pod-to-Pod با آدرس های IP و متغیرهای محیطی Pod-to-Pod Communication with IP Addresses & Environment Variables

  • استفاده از DNS برای ارتباط Pod-to-Pod Using DNS for Pod-to-Pod Communication

  • کدام رویکرد بهترین است؟ و یک چالش! Which Approach Is Best? And a Challenge!

  • راه حل چالش Challenge Solution

  • افزودن یک Frontend Containerized Adding a Containerized Frontend

  • استقرار Frontend با Kubernetes Deploying the Frontend with Kubernetes

  • استفاده از یک پروکسی معکوس برای Frontend Using a Reverse Proxy for the Frontend

  • خلاصه ماژول Module Summary

  • منابع ماژول Module Resources

Kubernetes - استقرار (AWS EKS) Kubernetes - Deployment (AWS EKS)

  • معرفی ماژول Module Introduction

  • گزینه ها و مراحل استقرار Deployment Options & Steps

  • AWS EKS در مقابل AWS ECS AWS EKS vs AWS ECS

  • آماده سازی پروژه شروع Preparing the Starting Project

  • نکته ای در مورد قیمت گذاری AWS EKS A Note on AWS EKS Pricing

  • شیرجه به AWS Diving Into AWS

  • ایجاد و پیکربندی خوشه Kubernetes با EKS Creating & Configuring the Kubernetes Cluster with EKS

  • اضافه کردن گره های کارگر Adding Worker Nodes

  • اعمال پیکربندی Kubernetes ما Applying Our Kubernetes Config

  • شروع به کار با حجم Getting Started with Volumes

  • افزودن EFS به عنوان یک جلد (با نوع حجم CSI) Adding EFS as a Volume (with the CSI Volume Type)

  • ایجاد یک حجم پایدار برای EFS Creating a Persistent Volume for EFS

  • با استفاده از حجم EFS Using the EFS Volume

  • یک چالش! A Challenge!

  • راه حل چالش Challenge Solution

  • منابع ماژول Module Resources

Kubernetes - استقرار (AWS EKS) Kubernetes - Deployment (AWS EKS)

  • معرفی ماژول Module Introduction

  • گزینه ها و مراحل استقرار Deployment Options & Steps

  • AWS EKS در مقابل AWS ECS AWS EKS vs AWS ECS

  • آماده سازی پروژه شروع Preparing the Starting Project

  • نکته ای در مورد قیمت گذاری AWS EKS A Note on AWS EKS Pricing

  • شیرجه به AWS Diving Into AWS

  • ایجاد و پیکربندی خوشه Kubernetes با EKS Creating & Configuring the Kubernetes Cluster with EKS

  • اضافه کردن گره های کارگر Adding Worker Nodes

  • اعمال پیکربندی Kubernetes ما Applying Our Kubernetes Config

  • شروع به کار با حجم Getting Started with Volumes

  • افزودن EFS به عنوان یک جلد (با نوع حجم CSI) Adding EFS as a Volume (with the CSI Volume Type)

  • ایجاد یک حجم پایدار برای EFS Creating a Persistent Volume for EFS

  • با استفاده از حجم EFS Using the EFS Volume

  • یک چالش! A Challenge!

  • راه حل چالش Challenge Solution

  • منابع ماژول Module Resources

جمع بندی و مراحل بعدی Roundup & Next Steps

  • خیلی چیزها یاد گرفتی! You Learned A Lot!

  • موضوعات مرتبطی که می توانید کاوش کنید Related Topics You Could Explore

  • مراحل بعدی! Next Steps!

  • خلاصه دوره Course Roundup

  • جایزه! Bonus!

جمع بندی و مراحل بعدی Roundup & Next Steps

  • خیلی چیزها یاد گرفتی! You Learned A Lot!

  • موضوعات مرتبطی که می توانید کاوش کنید Related Topics You Could Explore

  • مراحل بعدی! Next Steps!

  • خلاصه دوره Course Roundup

  • جایزه! Bonus!

نمایش نظرات

آموزش Docker & Kubernetes: The Practical Guide [نسخه 2023]
جزییات دوره
23.5 hours
261
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
121,080
4.7 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Maximilian Schwarzmüller Maximilian Schwarzmüller

دارای گواهینامه AWS، توسعه دهنده وب و مدرس حرفه ای

Academind by Maximilian Schwarzmüller Academind by Maximilian Schwarzmüller

آموزش آنلاین